home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / musik / MIDIFP21 / SOURCES / MIDI_PRT / PARAMS / PARAMS.PIF < prev   
Encoding:
Text File  |  1996-08-23  |  3.8 KB  |  99 lines

  1. /**************************************************************
  2. *
  3. *                PARAMS.PIF
  4. *
  5. **************************************************************/
  6.  
  7. #define MAX_FONTS 128      /* maximum number of GDOS fonts that can be */
  8.                            /* managed by this module                   */
  9. #define MAXLEN 32          /* length of GDOS font name */
  10. #define Beyreuther 0x20    /* notation mode Beyreuther */
  11. #define Rieder     0x40    /* notation mode Rieder     */
  12. #define Mix        0x30    /* notation mode Mix        */
  13.  
  14. typedef struct 
  15.     int font_id ; 
  16.     char font_name[MAXLEN + 1] ; 
  17. }
  18. FONT_INFO ; 
  19.  
  20.  
  21. typedef struct 
  22. {
  23.     CICONBLK *icon ;        /* icon to use for ACS window */
  24.     char *filename ;        /* of MIDI file */
  25.     char *path ;
  26.     int handle ;            /* VDI screen handle to use */
  27.     FONT_INFO *font_info ;  /* array of see above */
  28.     int number_fonts ;      /* available VDI fonts */
  29. PARAMS_INIT ;
  30.  
  31. /*******************************************************************
  32. */
  33.     Awindow *PARAMS_constructor(PARAMS_INIT *params_init) ;
  34. /*
  35. * Constructor of the PARAMS object. It
  36. * constructs an object instance of the PARAMS object containing
  37. * ACS object and own data instances.
  38. * OUTPUT:  params icon placed on screen and
  39. *          own params data instance connected to ACS-window
  40. *          instance
  41. * RETURN:  errors: NULL or -if successfull- ACS-window pointer,
  42. *          which will be used as handle for the object instance
  43. *******************************************************************/
  44.  
  45.  
  46. /*******************************************************************
  47. */
  48. void PARAMS_destructor(Awindow *window) ;
  49. /*
  50. * Destructor of the PARAMS object. It
  51. * frees all memory used by ACS and own data instances.
  52. *******************************************************************/
  53.  
  54.  
  55. /*******************************************************************
  56. */
  57.     int get_left_border(Awindow *) ;     /* left border in % from sheet width */
  58.     int get_right_border(Awindow *) ;    /* right ... */
  59.     int get_upper_border(Awindow *) ;    /* upper border in % from sheet height */
  60.     int get_lower_border(Awindow *) ;    /* lower ... */
  61.     int get_system_distance(Awindow *) ; /* note system distance in % from sheet height */
  62.     int get_track_distance(Awindow *) ;  /* track distance ... */
  63.     int get_note_distance(Awindow *) ;   /* succeeding notes' distance in %% from sheet height */
  64.     int get_bars_per_system(Awindow *) ; /* bars per note system (line) */
  65.     int get_system_length(Awindow *) ;   /* system length in 1/8 beats */
  66.     char get_bar_divider(Awindow *) ;    /* sub-bars per bar */
  67.     int get_text_effects(Awindow *) ;    /* VDI text effects for headline */
  68.     int get_mode(Awindow *) ;            /* notation mode: Rieder, Beyreuther, ... */
  69.     int get_font_id(Awindow *) ;         /* VDI font for all texts */
  70.     int get_hor_lines(Awindow *wi) ;     /* horizontal lines per dodecime */
  71.     char *get_title(Awindow *) ;         /* headline text */
  72. /*
  73. *   "get_..." are simple access procedures.
  74. *******************************************************************/
  75.  
  76.  
  77. /*******************************************************************
  78. */
  79.     void get_style_params(
  80.         Awindow *window,   /* in: params window instance */
  81.         int style[12],     /* out: 12 styles for note body */
  82.         int color[12],     /* out: 12 colors for note body */
  83.         int *type,         /* out: of note body, left end, right end (mask) */
  84.         int *height,       /* out: average height of note (relative 0..9) */
  85.         int *dynamic,      /* out: effect of note-on dynamic on note height (relative 0..9) */
  86.         int back_style[12],/* out: 12 styles for background */
  87.         int back_color[12] /* out: 12 colors for background */
  88.     ) ;
  89. /*
  90. *   access procedure to all parameters 
  91. *   affecting the drawing of the notes themselves. 
  92. *******************************************************************/